// meta information about the filesystem
// number of inodes
// number of disk blocks
// size of disk blocks
struct superblock {
  int num_inodes;
  int num_blocks;
  int size_blocks;
};

struct inode {
  int size;
  int first_block;
  char name[8];
};

struct disk_block {
  int next_block_num;
  char data[512];
};

void create_fs(); // initialize new filesystem
void mount_fs(); // load a filesystem

void sync_fs(); // write the filesystem

void print_fs();

int allocate_file(char name[8]);

void set_filesize(int filenum, int size);

void write_byte(int filename, int pos, char *data);